#!/usr/bin/env node

const http = require('http'),
      url  = require('url'),
      qs   = require('querystring');
let items = [];


function genPage(){
  let html = `<!DOCTYPE html>
      <html lang="en">
      <head>
        <meta charset="UTF-8">
        <title>todo list</title>
      </head>
      <body>
        <h1>Todo List</h1>
        <form action="http://192.168.178.144:8080" method="POST">
          <input type="text" name="item">
          <input type="submit" value="提交">
        </form>
        <ul id="items">
          ${items.map( i => '<li>' + i + '</li>').join('\n')}
        </ul>
    </body>
    </html>`;
  return html;
}

http.createServer((req,res)=>{
  if(req.url !== '/'){
    res.statusCode = 404;
    res.setHeader('Content-Type','text/html');
    res.end('<h1>not found</h1>');
  }else{

    let data = '';
    req.on('data',chunck => data += chunck);
   
    
    req.on('end',()=>{
      
      console.log(`data:${data}`);
      console.log(qs.parse(data));
      let item = qs.parse(data).item;
      
      console.log(`item:${item}`);

      if(item !== '' &&  typeof item !== 'undefined') items.push(item);
      
      res.writeHead(200,{
        'Content-Type':'text-html',
        'Content-Length':Buffer.byteLength(genPage())
      });

      res.end(genPage());

    });

  }

}).listen(8080);
